package interfaz;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JRadioButton;

import javax.swing.WindowConstants;
import javax.swing.SwingUtilities;

import representacion.ExtrasBasicos;
import representacion.ExtrasOtros;
import representacion.Usuario;

public class FormularioRegistro5 extends javax.swing.JFrame {
	
	private Usuario usuario;
	private FormularioIngreso formIngreso;
	
	private JRadioButton rbPatio;
	private JRadioButton rbBalcon;
	private JRadioButton rbZonaDeportiva;
	private JRadioButton rbZonaComunitaria;
	private JRadioButton rbTerraza;
	private JRadioButton rbPiscina;
	private JButton botonTerminar;
	private JButton botonCancelar;
	private JRadioButton rbZonaInfantil;
	private JRadioButton rbJardinPrivado;
	private JRadioButton rbPiscinaComunitaria;

	public FormularioRegistro5(Usuario usuario,FormularioIngreso formIngreso) {
	    super();
		this.formIngreso = formIngreso;
		this.usuario = usuario;
		initGUI();
		setDefaultCloseOperation(0); //Para que no se pueda cerrar haciendo click en la X
		this.setLocationRelativeTo(null);
		this.setVisible(true);
	}
	
	private void initGUI() {
		try {
			setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
			getContentPane().setLayout(null);
			{
				rbPatio = new JRadioButton();
				getContentPane().add(rbPatio);
				rbPatio.setText("Patio");
				rbPatio.setBounds(47, 29, 114, 20);
			}
			{
				rbBalcon = new JRadioButton();
				getContentPane().add(rbBalcon);
				rbBalcon.setText("Balcon");
				rbBalcon.setBounds(47, 78, 140, 20);
			}
			{
				rbZonaDeportiva = new JRadioButton();
				getContentPane().add(rbZonaDeportiva);
				rbZonaDeportiva.setText("Zona Deportiva");
				rbZonaDeportiva.setBounds(47, 123, 162, 20);
			}
			{
				rbZonaComunitaria = new JRadioButton();
				getContentPane().add(rbZonaComunitaria);
				rbZonaComunitaria.setText("Zona Comunitaria");
				rbZonaComunitaria.setBounds(282, 29, 173, 20);
			}
			{
				rbTerraza = new JRadioButton();
				getContentPane().add(rbTerraza);
				rbTerraza.setText("Terraza");
				rbTerraza.setBounds(282, 78, 120, 20);
			}
			{
				rbPiscinaComunitaria = new JRadioButton();
				getContentPane().add(rbPiscinaComunitaria);
				rbPiscinaComunitaria.setText("Piscina Comunitaria");
				rbPiscinaComunitaria.setBounds(282, 123, 173, 20);
			}
			{
				rbJardinPrivado = new JRadioButton();
				getContentPane().add(rbJardinPrivado);
				rbJardinPrivado.setText("Jardin Privado");
				rbJardinPrivado.setBounds(531, 29, 150, 20);
			}
			{
				rbZonaInfantil = new JRadioButton();
				getContentPane().add(rbZonaInfantil);
				rbZonaInfantil.setText("Zona Infantil");
				rbZonaInfantil.setBounds(531, 78, 150, 20);
			}
			{
				rbPiscina = new JRadioButton();
				getContentPane().add(rbPiscina);
				rbPiscina.setText("Piscina");
				rbPiscina.setBounds(531, 123, 122, 20);
			}
			{
				botonCancelar = new JButton();
				botonCancelar.addActionListener (new ActionListener (){
					   public void actionPerformed (ActionEvent e){
						   setVisible(false);
						   formIngreso.resetUsuario();
						   formIngreso.setVisible(true);
					   } 
				});	
				getContentPane().add(botonCancelar);
				botonCancelar.setText("Cancelar");
				botonCancelar.setBounds(219, 191, 109, 23);
			}
			{
				botonTerminar = new JButton();
				botonTerminar.addActionListener (new ActionListener (){
					   public void actionPerformed (ActionEvent e){
						  usarDatos();
					   } 
				});
				getContentPane().add(botonTerminar);
				botonTerminar.setText("Terminar");
				botonTerminar.setBounds(397, 191, 134, 23);
			}
			pack();
			this.setSize(763, 300);
		} catch (Exception e) {
		    //add your error handling code here
			e.printStackTrace();
		}
	}

	private void usarDatos(){
		Usuario u = usuario;
		ExtrasOtros eo = new ExtrasOtros(0);
		eo.setPatio(rbPatio.isSelected());
		eo.setBalcon(rbBalcon.isSelected());
		eo.setZonaDeportiva(rbZonaDeportiva.isSelected());
		eo.setZonaComunitaria(rbZonaComunitaria.isSelected());
		eo.setTerraza(rbTerraza.isSelected());
		eo.setPiscina(rbPiscina.isSelected());
		eo.setZonaInfantil(rbZonaInfantil.isSelected());
		eo.setJardinPrivado(rbJardinPrivado.isSelected());
		eo.setPiscinaComunitaria(rbPiscinaComunitaria.isSelected());
		u.setExtrasOtros(eo);
		usuario = u;
	    setVisible(false);
        formIngreso.annadirUsuario(usuario);
        formIngreso.setVisible(true);
	}
	
}
